import Vue from 'vue'
import Component from './message.vue'

// 构造器，创建一个子类，这个子类具有component中的方法属性
const Constructor = Vue.extend(Component)

const message = {
  $vm: null,
  install (options) {
    if (Vue.prototype.$isServer) return
    if (!this.$vm) {
      this.$vm = new Constructor({
        el: document.createElement('div'),
        propsData: {
          ...options
        }
      })
      document.body.appendChild(this.$vm.$el)
    }
  },
  alert (options = {}) {
    if (Vue.prototype.$isServer) return
    this.$vm = new Constructor({
      el: document.createElement('div'),
      propsData: options
    })
    document.body.appendChild(this.$vm.$el)
    // if (!this.$vm) {
    //   this.install(options)
    // }
  },
  confirm (options = {}) {
    if (Vue.prototype.$isServer) return
    this.$vm = new Constructor({
      el: document.createElement('div'),
      propsData: {
        ...options,
        type: 'confirm'
      }
    })
    document.body.appendChild(this.$vm.$el)
    // if (!this.$vm) {
    //   this.install({
    //     ...options,
    //     type: 'confirm'
    //   })
    // }
  }
}
export default message
